[INFO] fetching crate pg2parquet 0.2.2...
[INFO] fixing pg2parquet-0.2.2 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate pg2parquet 0.2.2 into /workspace/builds/worker-0-tc2/source
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate pg2parquet 0.2.2
[INFO] finished tweaking crates.io crate pg2parquet 0.2.2
[INFO] tweaked toml for crates.io crate pg2parquet 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pg2parquet 0.2.2 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pg2parquet 0.2.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a
[INFO] running `Command { std: "docker" "start" "011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]     Checking bytes v1.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking tinyvec v1.8.1
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling serde_json v1.0.135
[INFO] [stderr]    Compiling cc v1.2.10
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rustc-serialize v0.3.25
[INFO] [stderr]     Checking uuid v1.12.0
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling openssl v0.10.68
[INFO] [stderr]    Compiling native-tls v0.2.12
[INFO] [stderr]    Compiling zstd-safe v7.2.1
[INFO] [stderr]     Checking whoami v1.5.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling snap v1.1.1
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking brotli-decompressor v4.0.1
[INFO] [stderr]     Checking phf v0.11.3
[INFO] [stderr]    Compiling bigdecimal v0.4.7
[INFO] [stderr]     Checking integer-encoding v3.0.4
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking md-5 v0.10.6
[INFO] [stderr]     Checking tokio v1.43.0
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking lz4_flex v0.11.3
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking rtoolbox v0.0.2
[INFO] [stderr]     Checking clap_builder v4.5.26
[INFO] [stderr]    Compiling seq-macro v0.3.5
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking rpassword v7.3.1
[INFO] [stderr]     Checking stringprep v0.1.5
[INFO] [stderr]     Checking eui48 v1.1.0
[INFO] [stderr]     Checking brotli v7.0.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking geo-types v0.7.15
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]    Compiling openssl-sys v0.9.104
[INFO] [stderr]    Compiling zstd-sys v2.0.13+zstd.1.5.6
[INFO] [stderr]    Compiling jemalloc-sys v0.5.4+5.3.0-patched
[INFO] [stderr]     Checking thrift v0.17.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking bigdecimal v0.3.1
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling async-trait v0.1.85
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.24
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking clap v4.5.26
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking zstd v0.13.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking parquet v54.2.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking postgres-protocol v0.6.7
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking postgres-types v0.2.8
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-postgres v0.7.12
[INFO] [stderr]     Checking pgvector v0.4.0
[INFO] [stderr]     Checking postgres v0.19.9
[INFO] [stderr]     Checking postgres-native-tls v0.5.0
[INFO] [stderr]     Checking pg_bigdecimal v0.1.5
[INFO] [stderr]     Checking jemallocator v0.5.4
[INFO] [stderr]     Checking pg2parquet v0.2.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/appenders/array.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 83 |         for (_index, value) in array.into_owned().into_iter().enumerate() {
[INFO] [stdout]    |                                ------------------------------------------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 88 |                 match value.as_option() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 95 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/postgres_cloner.rs (8 fixes)
[INFO] [stdout] warning: `impl interface::ColumnAppender<TRow>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/postgres_cloner.rs:895:131
[INFO] [stdout]     |
[INFO] [stdout] 895 | ...'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> impl ColumnAppender<TRow> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:895:88
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> i...
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/postgres_cloner.rs:895:104
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> i...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 895 - fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> impl ColumnAppender<TRow> {
[INFO] [stdout] 895 + fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>, U: ColumnAppender<T>>(c: &ColumnInfo, a: U) -> impl ColumnAppender<TRow> + use<TRow, T, U> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/appenders/array.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 83 |         for (_index, value) in array.into_owned().into_iter().enumerate() {
[INFO] [stdout]    |                                ------------------------------------------
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 88 |                 match value.as_option() {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 95 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl interface::ColumnAppender<TRow>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]    --> src/postgres_cloner.rs:895:131
[INFO] [stdout]     |
[INFO] [stdout] 895 | ...'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> impl ColumnAppender<TRow> {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:895:88
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> i...
[INFO] [stdout]     |                                                                                        ^
[INFO] [stdout]     = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/postgres_cloner.rs:895:104
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> i...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]     = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 895 - fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> impl ColumnAppender<TRow> {
[INFO] [stdout] 895 + fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>, U: ColumnAppender<T>>(c: &ColumnInfo, a: U) -> impl ColumnAppender<TRow> + use<TRow, T, U> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 34s
[INFO] [stderr] crater-edition-check: pg2parquet v0.2.2 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking pg2parquet v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:835:2
[INFO] [stdout]     |
[INFO] [stdout] 832 | ) -> impl ColumnAppender<TRow> + use<T, TDataType, FConversion, TRow>
[INFO] [stdout]     |      ---------------------------------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 835 |     wrap_pg_row_reader(c, basic_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:840:2
[INFO] [stdout]     |
[INFO] [stdout] 838 | fn create_complex_appender<T: for <'a> FromSql<'a> + Clone + 'static, TRow: PgAbstractRow + Clone>(c: &ColumnInfo, columns: Vec<DynColumnAppender<Arc<T>>>) -> impl ColumnAppender<TRow> + use<T, TRow> {
[INFO] [stdout]     |                                                                                                                                                                ---------------------------------------- opaque type defined here
[INFO] [stdout] 839 |     let main_cp = DynamicMergedAppender::new(columns, c.definition_level + 1, c.repetition_level);
[INFO] [stdout] 840 |     wrap_pg_row_reader(c, RcWrapperAppender::new(main_cp))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:865:2
[INFO] [stdout]     |
[INFO] [stdout] 843 | fn create_array_appender<TRow: PgAbstractRow + Clone>(inner: DynColumnAppender<PgAny>, c: &ColumnInfo, warn_on_multidim: bool) -> impl ColumnAppender<TRow> + use<TRow> {
[INFO] [stdout]     |                                                                                                                                   ------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 865 |     wrap_pg_row_reader::<TRow, PgMultidimArray<Option<PgAny>>>(c, multidim_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:877:2
[INFO] [stdout]     |
[INFO] [stdout] 868 | fn create_array_dim_appender<T: Clone + for <'a> FromSql<'a> + 'static, TRow: PgAbstractRow + Clone>(c: &ColumnInfo) -> impl ColumnAppender<TRow> + use<T, TRow> {
[INFO] [stdout]     |                                                                                                                         ---------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 877 |     wrap_pg_row_reader::<TRow, PgMultidimArray<Option<T>>>(c, dim_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:892:2
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn create_array_lower_bound_appender<T: Clone + for <'a> FromSql<'a> + 'static, TRow: PgAbstractRow + Clone>(c: &ColumnInfo) -> impl ColumnAppender<TRow> + use<T, TRow> {
[INFO] [stdout]     |                                                                                                                                 ---------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 892 |     wrap_pg_row_reader::<TRow, PgMultidimArray<Option<T>>>(c, dim_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:835:2
[INFO] [stdout]     |
[INFO] [stdout] 832 | ) -> impl ColumnAppender<TRow> + use<T, TDataType, FConversion, TRow>
[INFO] [stdout]     |      ---------------------------------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 835 |     wrap_pg_row_reader(c, basic_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:840:2
[INFO] [stdout]     |
[INFO] [stdout] 838 | fn create_complex_appender<T: for <'a> FromSql<'a> + Clone + 'static, TRow: PgAbstractRow + Clone>(c: &ColumnInfo, columns: Vec<DynColumnAppender<Arc<T>>>) -> impl ColumnAppender<TRow> + use<T, TRow> {
[INFO] [stdout]     |                                                                                                                                                                ---------------------------------------- opaque type defined here
[INFO] [stdout] 839 |     let main_cp = DynamicMergedAppender::new(columns, c.definition_level + 1, c.repetition_level);
[INFO] [stdout] 840 |     wrap_pg_row_reader(c, RcWrapperAppender::new(main_cp))
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:865:2
[INFO] [stdout]     |
[INFO] [stdout] 843 | fn create_array_appender<TRow: PgAbstractRow + Clone>(inner: DynColumnAppender<PgAny>, c: &ColumnInfo, warn_on_multidim: bool) -> impl ColumnAppender<TRow> + use<TRow> {
[INFO] [stdout]     |                                                                                                                                   ------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 865 |     wrap_pg_row_reader::<TRow, PgMultidimArray<Option<PgAny>>>(c, multidim_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:877:2
[INFO] [stdout]     |
[INFO] [stdout] 868 | fn create_array_dim_appender<T: Clone + for <'a> FromSql<'a> + 'static, TRow: PgAbstractRow + Clone>(c: &ColumnInfo) -> impl ColumnAppender<TRow> + use<T, TRow> {
[INFO] [stdout]     |                                                                                                                         ---------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 877 |     wrap_pg_row_reader::<TRow, PgMultidimArray<Option<T>>>(c, dim_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl interface::ColumnAppender<TRow>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> src/postgres_cloner.rs:892:2
[INFO] [stdout]     |
[INFO] [stdout] 881 | fn create_array_lower_bound_appender<T: Clone + for <'a> FromSql<'a> + 'static, TRow: PgAbstractRow + Clone>(c: &ColumnInfo) -> impl ColumnAppender<TRow> + use<T, TRow> {
[INFO] [stdout]     |                                                                                                                                 ---------------------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 892 |     wrap_pg_row_reader::<TRow, PgMultidimArray<Option<T>>>(c, dim_appender)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl interface::ColumnAppender<TRow>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/postgres_cloner.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 431 |     c: &ColumnInfo,
[INFO] [stdout]     |        - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 539 |             Ok((Box::new(appender_dyn), schema))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/postgres_cloner.rs:585:2
[INFO] [stdout]     |
[INFO] [stdout] 580 |       c: &ColumnInfo,
[INFO] [stdout]     |          - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 585 | /     Ok(match t.name() {
[INFO] [stdout] 586 | |         "bool" => resolve_primitive::<bool, BoolType, _>(name, c, None, None),
[INFO] [stdout] 587 | |         "int2" => resolve_primitive::<i16, Int32Type, _>(name, c, Some(LogicalType::Integer { bit_width: 16, is_signed: true }), ...
[INFO] [stdout] 588 | |         "int4" => resolve_primitive::<i32, Int32Type, _>(name, c, None, None),
[INFO] [stdout] ...   |
[INFO] [stdout] 697 | |             return Err(format!("Could not map column {}, unsupported primitive type: {}", c.full_name(), n)),
[INFO] [stdout] 698 | |     })
[INFO] [stdout]     | |______^ returning this value requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/postgres_cloner.rs:718:11
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn resolve_numeric<TRow: PgAbstractRow + Clone + 'static>(s: &SchemaSettings, name: &str, c: &ColumnInfo) -> Result<ResolvedColumn<...
[INFO] [stdout]     |                                                                                              - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 718 |         let cp: DynColumnAppender<TRow> = if pq_type == basic::Type::INT32 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `c`
[INFO] [stdout]    --> src/postgres_cloner.rs:795:2
[INFO] [stdout]     |
[INFO] [stdout] 794 |     let cp = wrap_pg_row_reader::<TRow, TArr>(&c, array_appender);
[INFO] [stdout]     |                                               -- `c` is borrowed here
[INFO] [stdout] 795 |     (Box::new(cp), arr_t)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/postgres_cloner.rs:794:11
[INFO] [stdout]     |
[INFO] [stdout] 794 |     let cp = wrap_pg_row_reader::<TRow, TArr>(&c, array_appender);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/postgres_cloner.rs:895:104
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> i...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 895 - fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> impl ColumnAppender<TRow> {
[INFO] [stdout] 895 + fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>, U: ColumnAppender<T>>(c: &ColumnInfo, a: U) -> impl ColumnAppender<TRow> + use<TRow, T, U> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/postgres_cloner.rs:539:4
[INFO] [stdout]     |
[INFO] [stdout] 431 |     c: &ColumnInfo,
[INFO] [stdout]     |        - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 539 |             Ok((Box::new(appender_dyn), schema))
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/postgres_cloner.rs:585:2
[INFO] [stdout]     |
[INFO] [stdout] 580 |       c: &ColumnInfo,
[INFO] [stdout]     |          - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 585 | /     Ok(match t.name() {
[INFO] [stdout] 586 | |         "bool" => resolve_primitive::<bool, BoolType, _>(name, c, None, None),
[INFO] [stdout] 587 | |         "int2" => resolve_primitive::<i16, Int32Type, _>(name, c, Some(LogicalType::Integer { bit_width: 16, is_signed: true }), ...
[INFO] [stdout] 588 | |         "int4" => resolve_primitive::<i32, Int32Type, _>(name, c, None, None),
[INFO] [stdout] ...   |
[INFO] [stdout] 697 | |             return Err(format!("Could not map column {}, unsupported primitive type: {}", c.full_name(), n)),
[INFO] [stdout] 698 | |     })
[INFO] [stdout]     | |______^ returning this value requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: lifetime may not live long enough
[INFO] [stdout]    --> src/postgres_cloner.rs:718:11
[INFO] [stdout]     |
[INFO] [stdout] 701 | fn resolve_numeric<TRow: PgAbstractRow + Clone + 'static>(s: &SchemaSettings, name: &str, c: &ColumnInfo) -> Result<ResolvedColumn<...
[INFO] [stdout]     |                                                                                              - let's call the lifetime of this reference `'1`
[INFO] [stdout] ...
[INFO] [stdout] 718 |         let cp: DynColumnAppender<TRow> = if pq_type == basic::Type::INT32 {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'1` must outlive `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0515]: cannot return value referencing local variable `c`
[INFO] [stdout]    --> src/postgres_cloner.rs:795:2
[INFO] [stdout]     |
[INFO] [stdout] 794 |     let cp = wrap_pg_row_reader::<TRow, TArr>(&c, array_appender);
[INFO] [stdout]     |                                               -- `c` is borrowed here
[INFO] [stdout] 795 |     (Box::new(cp), arr_t)
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ returns a value referencing data owned by the current function
[INFO] [stdout]     |
[INFO] [stdout] note: this call may capture more lifetimes than intended, because Rust 2024 has adjusted the `impl Trait` lifetime capture rules
[INFO] [stdout]    --> src/postgres_cloner.rs:794:11
[INFO] [stdout]     |
[INFO] [stdout] 794 |     let cp = wrap_pg_row_reader::<TRow, TArr>(&c, array_appender);
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]    --> src/postgres_cloner.rs:895:104
[INFO] [stdout]     |
[INFO] [stdout] 895 | fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> i...
[INFO] [stdout]     |                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]     |
[INFO] [stdout] 895 - fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>>(c: &ColumnInfo, a: impl ColumnAppender<T>) -> impl ColumnAppender<TRow> {
[INFO] [stdout] 895 + fn wrap_pg_row_reader<TRow: PgAbstractRow + Clone, T: Clone + for <'a> FromSql<'a>, U: ColumnAppender<T>>(c: &ColumnInfo, a: U) -> impl ColumnAppender<TRow> + use<TRow, T, U> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0515, E0700.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0515`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pg2parquet` (bin "pg2parquet" test) due to 9 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0515, E0700.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0515`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pg2parquet` (bin "pg2parquet") due to 9 previous errors
[INFO] running `Command { std: "docker" "inspect" "011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a", kill_on_drop: false }`
[INFO] [stdout] 011840b8c27dcf83dad3adfd559333fa99a532963a465f68bcbb759cacfbf41a
